<!-- HTML header for doxygen 1.8.18-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Ipopt: Ipopt::TaggedObject Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  extensions: ["tex2jax.js"],
  jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 40px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Ipopt Documentation
   &#160;<!--span id="projectnumber">3.14.15</span-->
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <span id="MSearchSelect"                onmouseover="return searchBox.OnSearchSelectShow()"                onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
          <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('classIpopt_1_1TaggedObject.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classIpopt_1_1TaggedObject-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">Ipopt::TaggedObject Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> class.  
 <a href="classIpopt_1_1TaggedObject.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for Ipopt::TaggedObject:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classIpopt_1_1TaggedObject__inherit__graph.png" border="0" usemap="#aIpopt_1_1TaggedObject_inherit__map" alt="Inheritance graph"/></div>
<map name="aIpopt_1_1TaggedObject_inherit__map" id="aIpopt_1_1TaggedObject_inherit__map">
<area shape="rect" title="TaggedObject class." alt="" coords="232,489,382,517"/>
<area shape="rect" href="classIpopt_1_1Matrix.html" title="Matrix Base Class." alt="" coords="430,308,534,336"/>
<area shape="poly" title=" " alt="" coords="330,476,465,334,469,338,334,480"/>
<area shape="rect" href="classIpopt_1_1Vector.html" title="Vector Base Class." alt="" coords="431,619,534,646"/>
<area shape="poly" title=" " alt="" coords="341,524,463,616,460,620,338,529"/>
<area shape="rect" href="classIpopt_1_1ReferencedObject.html" title="Storing the reference count of all the smart pointers that currently reference it." alt="" coords="5,463,184,490"/>
<area shape="poly" title=" " alt="" coords="200,487,232,491,231,496,199,492"/>
<area shape="rect" href="classIpopt_1_1Subject.html" title="Slight Variation of the Observer Design Pattern (Subject part)." alt="" coords="39,515,150,542"/>
<area shape="poly" title=" " alt="" coords="165,518,231,510,231,515,165,523"/>
<area shape="rect" href="classIpopt_1_1CompoundMatrix.html" title="Class for Matrices consisting of other matrices." alt="" coords="595,5,770,33"/>
<area shape="poly" title=" " alt="" coords="483,292,490,239,506,173,519,138,535,103,555,72,581,44,599,31,602,36,584,48,560,75,540,106,524,140,511,174,495,240,488,293"/>
<area shape="rect" href="classIpopt_1_1DenseGenMatrix.html" title="Class for dense general matrices." alt="" coords="597,57,768,85"/>
<area shape="poly" title=" " alt="" coords="485,292,495,248,513,195,541,141,559,116,581,94,598,83,601,88,584,99,563,120,545,144,518,197,500,250,491,293"/>
<area shape="rect" href="classIpopt_1_1ExpandedMultiVectorMatrix.html" title="Class for Matrices with few rows that consists of Vectors, together with a premultiplied Expansion ma..." alt="" coords="582,109,783,154"/>
<area shape="poly" title=" " alt="" coords="492,292,526,228,551,194,581,164,599,152,602,156,584,168,555,197,530,231,497,295"/>
<area shape="rect" href="classIpopt_1_1ExpansionMatrix.html" title="Class for expansion/projection matrices." alt="" coords="597,177,768,205"/>
<area shape="poly" title=" " alt="" coords="500,293,535,253,557,233,581,216,608,203,610,208,584,220,560,237,538,257,504,297"/>
<area shape="rect" href="classIpopt_1_1GenTMatrix.html" title="Class for general matrices stored in triplet format." alt="" coords="613,229,752,257"/>
<area shape="poly" title=" " alt="" coords="519,298,581,267,618,255,620,260,583,272,521,302"/>
<area shape="rect" href="classIpopt_1_1MultiVectorMatrix.html" title="Class for Matrices with few columns that consists of Vectors." alt="" coords="593,281,772,309"/>
<area shape="poly" title=" " alt="" coords="550,310,593,304,593,310,550,316"/>
<area shape="rect" href="classIpopt_1_1ScaledMatrix.html" title="Class for a Matrix in conjunction with its scaling factors for row and column scaling." alt="" coords="609,333,756,361"/>
<area shape="poly" title=" " alt="" coords="550,328,609,335,608,340,549,333"/>
<area shape="rect" href="classIpopt_1_1SumMatrix.html" title="Class for Matrices which are sum of matrices." alt="" coords="616,385,749,413"/>
<area shape="poly" title=" " alt="" coords="522,341,583,370,621,382,619,387,581,375,520,346"/>
<area shape="rect" href="classIpopt_1_1SymMatrix.html" title="This is the base class for all derived symmetric matrix types." alt="" coords="616,437,749,465"/>
<area shape="poly" title=" " alt="" coords="504,346,538,386,560,406,584,422,616,436,614,441,581,427,557,410,535,390,500,350"/>
<area shape="rect" href="classIpopt_1_1TransposeMatrix.html" title="Class for Matrices which are the transpose of another matrix." alt="" coords="598,489,767,517"/>
<area shape="poly" title=" " alt="" coords="497,349,529,413,554,446,584,474,606,486,603,491,581,479,550,450,525,416,492,352"/>
<area shape="rect" href="classIpopt_1_1ZeroMatrix.html" title="Class for Matrices with only zero entries." alt="" coords="615,541,750,569"/>
<area shape="poly" title=" " alt="" coords="492,350,503,390,521,437,548,486,565,507,584,526,616,543,614,548,581,531,561,511,543,489,516,440,498,391,487,351"/>
<area shape="rect" href="classIpopt_1_1CompoundSymMatrix.html" title="Class for symmetric matrices consisting of other matrices." alt="" coords="849,203,1052,230"/>
<area shape="poly" title=" " alt="" coords="762,436,781,423,797,401,804,379,805,356,804,334,802,310,803,287,811,264,829,241,846,229,850,233,833,245,816,266,809,288,807,310,809,333,811,356,809,380,802,403,785,426,765,440"/>
<area shape="rect" href="classIpopt_1_1DenseSymMatrix.html" title="Class for dense symmetric matrices." alt="" coords="863,255,1038,282"/>
<area shape="poly" title=" " alt="" coords="762,435,781,423,794,407,800,392,804,359,807,326,815,309,829,293,861,275,864,280,832,297,819,312,813,327,809,360,805,393,798,410,784,426,765,439"/>
<area shape="rect" href="classIpopt_1_1DiagMatrix.html" title="Class for diagonal matrices." alt="" coords="883,307,1018,334"/>
<area shape="poly" title=" " alt="" coords="762,433,781,422,797,404,804,385,812,364,829,345,854,332,882,323,883,329,856,336,832,349,816,367,809,386,802,407,784,427,765,438"/>
<area shape="rect" href="classIpopt_1_1IdentityMatrix.html" title="Class for Matrices which are multiples of the identity matrix." alt="" coords="873,359,1028,386"/>
<area shape="poly" title=" " alt="" coords="759,430,782,422,805,409,830,397,872,384,874,389,832,402,808,414,784,427,761,435"/>
<area shape="rect" href="classIpopt_1_1LowRankUpdateSymMatrix.html" title="Class for symmetric matrices, represented as low&#45;rank updates." alt="" coords="831,411,1070,438"/>
<area shape="poly" title=" " alt="" coords="764,440,830,434,830,439,765,446"/>
<area shape="rect" href="classIpopt_1_1SumSymMatrix.html" title="Class for Matrices which are sum of symmetric matrices." alt="" coords="869,463,1032,490"/>
<area shape="poly" title=" " alt="" coords="765,456,869,466,869,471,765,462"/>
<area shape="rect" href="classIpopt_1_1SymScaledMatrix.html" title="Class for a Matrix in conjunction with its scaling factors for row and column scaling." alt="" coords="862,515,1039,542"/>
<area shape="poly" title=" " alt="" coords="760,467,784,475,808,488,832,499,873,512,872,517,830,504,805,492,782,480,758,472"/>
<area shape="rect" href="classIpopt_1_1SymTMatrix.html" title="Class for symmetric matrices stored in triplet format." alt="" coords="880,567,1021,594"/>
<area shape="poly" title=" " alt="" coords="765,465,784,476,801,495,809,515,816,534,832,552,855,564,880,572,879,577,853,569,829,556,812,537,804,517,797,498,781,480,762,469"/>
<area shape="rect" href="classIpopt_1_1ZeroSymMatrix.html" title="Class for Symmetric Matrices with only zero entries." alt="" coords="869,619,1032,646"/>
<area shape="poly" title=" " alt="" coords="765,463,784,476,798,492,805,509,809,542,813,574,820,589,832,604,850,615,869,623,867,628,847,620,829,608,815,592,808,575,804,542,800,510,793,495,781,480,762,467"/>
<area shape="rect" href="classIpopt_1_1CompoundVector.html" title="Class of Vectors consisting of other vectors." alt="" coords="596,619,769,646"/>
<area shape="poly" title=" " alt="" coords="549,630,596,630,596,635,549,635"/>
<area shape="rect" href="classIpopt_1_1DenseVector.html" title="Dense Vector Implementation." alt="" coords="610,671,755,698"/>
<area shape="poly" title=" " alt="" coords="550,647,627,667,626,673,548,652"/>
<area shape="rect" href="classIpopt_1_1IteratesVector.html" title="Specialized CompoundVector class specifically for the algorithm iterates." alt="" coords="874,671,1027,698"/>
<area shape="poly" title=" " alt="" coords="773,647,876,667,875,673,772,653"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a6295578d16e7272fd040f02806d72afc" id="r_a6295578d16e7272fd040f02806d72afc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">typedef</a> <a class="el" href="classIpopt_1_1DependentResult.html">unsigned</a> <a class="el" href="classIpopt_1_1DependentResult.html">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a></td></tr>
<tr class="memdesc:a6295578d16e7272fd040f02806d72afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type for the Tag values.  <br /></td></tr>
<tr class="separator:a6295578d16e7272fd040f02806d72afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9a380b6da750fe0d63985a08bb329e7e" id="r_a9a380b6da750fe0d63985a08bb329e7e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a9a380b6da750fe0d63985a08bb329e7e">TaggedObject</a> ()</td></tr>
<tr class="memdesc:a9a380b6da750fe0d63985a08bb329e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <br /></td></tr>
<tr class="separator:a9a380b6da750fe0d63985a08bb329e7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec96b8d790bf8ce7c707b55824796210" id="r_aec96b8d790bf8ce7c707b55824796210"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#aec96b8d790bf8ce7c707b55824796210">~TaggedObject</a> ()</td></tr>
<tr class="memdesc:aec96b8d790bf8ce7c707b55824796210"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <br /></td></tr>
<tr class="separator:aec96b8d790bf8ce7c707b55824796210"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a352e0245b4505a0b6190a6417da087f7" id="r_a352e0245b4505a0b6190a6417da087f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a352e0245b4505a0b6190a6417da087f7">GetTag</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="memdesc:a352e0245b4505a0b6190a6417da087f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Users of TaggedObjects call this to update their own internal tags every time they perform the expensive operation.  <br /></td></tr>
<tr class="separator:a352e0245b4505a0b6190a6417da087f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6179c02755cba8456d611a0d469a9c70" id="r_a6179c02755cba8456d611a0d469a9c70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a6179c02755cba8456d611a0d469a9c70">HasChanged</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a> <a class="el" href="classIpopt_1_1DependentResult.html">comparison_tag</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="memdesc:a6179c02755cba8456d611a0d469a9c70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Users of TaggedObjects call this to check if the object HasChanged since they last updated their own internal tag.  <br /></td></tr>
<tr class="separator:a6179c02755cba8456d611a0d469a9c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1ReferencedObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1ReferencedObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1ReferencedObject.html">Ipopt::ReferencedObject</a></td></tr>
<tr class="memitem:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_a5c0f2208e3ead22bf7c5179381ed8203"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#a5c0f2208e3ead22bf7c5179381ed8203">ReferencedObject</a> ()</td></tr>
<tr class="separator:a5c0f2208e3ead22bf7c5179381ed8203 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_adbbf3aa5307da62ab8224ba599d4bd7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#adbbf3aa5307da62ab8224ba599d4bd7a">~ReferencedObject</a> ()</td></tr>
<tr class="separator:adbbf3aa5307da62ab8224ba599d4bd7a inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_aac517534e10e36c946aeefc6fe337777"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aac517534e10e36c946aeefc6fe337777">ReferenceCount</a> () <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:aac517534e10e36c946aeefc6fe337777 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_aa69ecb0f026bd741e2fa84c31d4ec332"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#aa69ecb0f026bd741e2fa84c31d4ec332">AddRef</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">referencer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:aa69ecb0f026bd741e2fa84c31d4ec332 inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject" id="r_ae6c952e7d1a63080dc8f121c008944fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1ReferencedObject.html#ae6c952e7d1a63080dc8f121c008944fc">ReleaseRef</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1Referencer.html">Referencer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">referencer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:ae6c952e7d1a63080dc8f121c008944fc inherit pub_methods_classIpopt_1_1ReferencedObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classIpopt_1_1Subject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classIpopt_1_1Subject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classIpopt_1_1Subject.html">Ipopt::Subject</a></td></tr>
<tr class="memitem:a547af0012802082f3d7b869041bfabaf inherit pub_methods_classIpopt_1_1Subject" id="r_a547af0012802082f3d7b869041bfabaf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1Subject.html#a547af0012802082f3d7b869041bfabaf">Subject</a> ()</td></tr>
<tr class="memdesc:a547af0012802082f3d7b869041bfabaf inherit pub_methods_classIpopt_1_1Subject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Constructor.  <br /></td></tr>
<tr class="separator:a547af0012802082f3d7b869041bfabaf inherit pub_methods_classIpopt_1_1Subject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdb4a5e05cc2afd41064985d55d96f6d inherit pub_methods_classIpopt_1_1Subject" id="r_abdb4a5e05cc2afd41064985d55d96f6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1Subject.html#abdb4a5e05cc2afd41064985d55d96f6d">~Subject</a> ()</td></tr>
<tr class="memdesc:abdb4a5e05cc2afd41064985d55d96f6d inherit pub_methods_classIpopt_1_1Subject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <br /></td></tr>
<tr class="separator:abdb4a5e05cc2afd41064985d55d96f6d inherit pub_methods_classIpopt_1_1Subject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a5d0d8fa91fa9cea12e53682ad82042 inherit pub_methods_classIpopt_1_1Subject" id="r_a7a5d0d8fa91fa9cea12e53682ad82042"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1Subject.html#a7a5d0d8fa91fa9cea12e53682ad82042">AttachObserver</a> (<a class="el" href="classIpopt_1_1Observer.html#a828a9e0833e87e84bef75d05bf0a99b8">Observer::NotifyType</a> <a class="el" href="classIpopt_1_1DependentResult.html">notify_type</a>, <a class="el" href="classIpopt_1_1Observer.html">Observer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">observer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="memdesc:a7a5d0d8fa91fa9cea12e53682ad82042 inherit pub_methods_classIpopt_1_1Subject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach the specified observer (i.e., begin receiving notifications).  <br /></td></tr>
<tr class="separator:a7a5d0d8fa91fa9cea12e53682ad82042 inherit pub_methods_classIpopt_1_1Subject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a907d18f260ed26a5549538f3c09e5f56 inherit pub_methods_classIpopt_1_1Subject" id="r_a907d18f260ed26a5549538f3c09e5f56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1Subject.html#a907d18f260ed26a5549538f3c09e5f56">DetachObserver</a> (<a class="el" href="classIpopt_1_1Observer.html#a828a9e0833e87e84bef75d05bf0a99b8">Observer::NotifyType</a> <a class="el" href="classIpopt_1_1DependentResult.html">notify_type</a>, <a class="el" href="classIpopt_1_1Observer.html">Observer</a> *<a class="el" href="classIpopt_1_1DependentResult.html">observer</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="memdesc:a907d18f260ed26a5549538f3c09e5f56 inherit pub_methods_classIpopt_1_1Subject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detach the specified observer (i.e., no longer receive notifications).  <br /></td></tr>
<tr class="separator:a907d18f260ed26a5549538f3c09e5f56 inherit pub_methods_classIpopt_1_1Subject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a427557597cbad74331b748d2a1c72623" id="r_a427557597cbad74331b748d2a1c72623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623">ObjectChanged</a> ()</td></tr>
<tr class="memdesc:a427557597cbad74331b748d2a1c72623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Objects derived from <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> MUST call this method every time their internal state changes to update the internal tag for comparison.  <br /></td></tr>
<tr class="separator:a427557597cbad74331b748d2a1c72623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classIpopt_1_1Subject"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classIpopt_1_1Subject')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classIpopt_1_1Subject.html">Ipopt::Subject</a></td></tr>
<tr class="memitem:a001f4269d74149f9d45930ef7102c0a4 inherit pro_methods_classIpopt_1_1Subject" id="r_a001f4269d74149f9d45930ef7102c0a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1Subject.html#a001f4269d74149f9d45930ef7102c0a4">Notify</a> (<a class="el" href="classIpopt_1_1Observer.html#a828a9e0833e87e84bef75d05bf0a99b8">Observer::NotifyType</a> <a class="el" href="classIpopt_1_1DependentResult.html">notify_type</a>) <a class="el" href="classIpopt_1_1DependentResult.html">const</a></td></tr>
<tr class="separator:a001f4269d74149f9d45930ef7102c0a4 inherit pro_methods_classIpopt_1_1Subject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td colspan="2"><div class="groupHeader">Default Compiler Generated Methods (Hidden to avoid</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>implicit creation/calling).</p>
<p>These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called. </p>
</div></td></tr>
<tr class="memitem:a399bab83b0fc9b461e56f6d9658fabb5" id="r_a399bab83b0fc9b461e56f6d9658fabb5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a399bab83b0fc9b461e56f6d9658fabb5">TaggedObject</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1TaggedObject.html">TaggedObject</a> &amp;)</td></tr>
<tr class="memdesc:a399bab83b0fc9b461e56f6d9658fabb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy Constructor.  <br /></td></tr>
<tr class="separator:a399bab83b0fc9b461e56f6d9658fabb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2438d53da745c1dc1a9bc929a2d3f52" id="r_aa2438d53da745c1dc1a9bc929a2d3f52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1DependentResult.html">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#aa2438d53da745c1dc1a9bc929a2d3f52">operator=</a> (<a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1TaggedObject.html">TaggedObject</a> &amp;)</td></tr>
<tr class="memdesc:aa2438d53da745c1dc1a9bc929a2d3f52"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default Assignment Operator.  <br /></td></tr>
<tr class="separator:aa2438d53da745c1dc1a9bc929a2d3f52"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a923dcd06bf128f45889d4116279141ff" id="r_a923dcd06bf128f45889d4116279141ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#a923dcd06bf128f45889d4116279141ff">tag_</a></td></tr>
<tr class="memdesc:a923dcd06bf128f45889d4116279141ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">The tag indicating the current state of the object.  <br /></td></tr>
<tr class="separator:a923dcd06bf128f45889d4116279141ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf2fbdd52911a44af1483ef959c48904" id="r_acf2fbdd52911a44af1483ef959c48904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classIpopt_1_1TaggedObject.html#acf2fbdd52911a44af1483ef959c48904">cache_priority_</a></td></tr>
<tr class="memdesc:acf2fbdd52911a44af1483ef959c48904"><td class="mdescLeft">&#160;</td><td class="mdescRight">The index indicating the cache priority for this <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a>.  <br /></td></tr>
<tr class="separator:acf2fbdd52911a44af1483ef959c48904"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> class. </p>
<p>Often, certain calculations or operations are expensive, and it can be very inefficient to perform these calculations again if the input to the calculation has not changed since the result was last stored. This base class provides an efficient mechanism to update a tag, indicating that the object has changed. Users of a <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> class, need their own Tag data member to keep track of the state of the <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a>, the last time they performed a calculation. A basic use case for users of a class inheriting from <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> follows like this:</p>
<ol type="1">
<li>Initialize your own Tag to zero in constructor.</li>
<li><p class="startli">Before an expensive calculation, check if the <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> has changed, passing in your own Tag, indicating the last time you used the object for the calculation. If it has changed, perform the calculation again, and store the result. If it has not changed, simply return the stored result.</p>
<p class="startli">Here is a simple example: </p><pre class="fragment">       if (vector.HasChanged(my_vector_tag_)) {
         my_vector_tag_ = vector.GetTag();
         result = PerformExpensiveCalculation(vector);
         return result;
       }
       else {
         return result;
       }
</pre></li>
</ol>
<p>Objects derived from <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> must indicate that they have changed to the base class using the protected member function <a class="el" href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623" title="Objects derived from TaggedObject MUST call this method every time their internal state changes to up...">ObjectChanged()</a>. For example, a <a class="el" href="classIpopt_1_1Vector.html" title="Vector Base Class.">Vector</a> class, inside its own set method, MUST call <a class="el" href="classIpopt_1_1TaggedObject.html#a427557597cbad74331b748d2a1c72623" title="Objects derived from TaggedObject MUST call this method every time their internal state changes to up...">ObjectChanged()</a> to update the internally stored tag for comparison. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00057">57</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a6295578d16e7272fd040f02806d72afc" name="a6295578d16e7272fd040f02806d72afc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6295578d16e7272fd040f02806d72afc">&#9670;&#160;</a></span>Tag</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">typedef</a> <a class="el" href="classIpopt_1_1DependentResult.html">unsigned</a> <a class="el" href="classIpopt_1_1DependentResult.html">int</a> <a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Ipopt::TaggedObject::Tag</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type for the Tag values. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00061">61</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9a380b6da750fe0d63985a08bb329e7e" name="a9a380b6da750fe0d63985a08bb329e7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a380b6da750fe0d63985a08bb329e7e">&#9670;&#160;</a></span>TaggedObject() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::TaggedObject::TaggedObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00064">64</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<a id="aec96b8d790bf8ce7c707b55824796210" name="aec96b8d790bf8ce7c707b55824796210"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec96b8d790bf8ce7c707b55824796210">&#9670;&#160;</a></span>~TaggedObject()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">virtual</a> Ipopt::TaggedObject::~TaggedObject </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00072">72</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<a id="a399bab83b0fc9b461e56f6d9658fabb5" name="a399bab83b0fc9b461e56f6d9658fabb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a399bab83b0fc9b461e56f6d9658fabb5">&#9670;&#160;</a></span>TaggedObject() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Ipopt::TaggedObject::TaggedObject </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1TaggedObject.html">TaggedObject</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy Constructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a352e0245b4505a0b6190a6417da087f7" name="a352e0245b4505a0b6190a6417da087f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a352e0245b4505a0b6190a6417da087f7">&#9670;&#160;</a></span>GetTag()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a> Ipopt::TaggedObject::GetTag </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Users of TaggedObjects call this to update their own internal tags every time they perform the expensive operation. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00079">79</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<a id="a6179c02755cba8456d611a0d469a9c70" name="a6179c02755cba8456d611a0d469a9c70"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6179c02755cba8456d611a0d469a9c70">&#9670;&#160;</a></span>HasChanged()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">bool</a> Ipopt::TaggedObject::HasChanged </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a>&#160;</td>
          <td class="paramname"><em>comparison_tag</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Users of TaggedObjects call this to check if the object HasChanged since they last updated their own internal tag. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00089">89</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<a id="a427557597cbad74331b748d2a1c72623" name="a427557597cbad74331b748d2a1c72623"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a427557597cbad74331b748d2a1c72623">&#9670;&#160;</a></span>ObjectChanged()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::TaggedObject::ObjectChanged </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Objects derived from <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> MUST call this method every time their internal state changes to update the internal tag for comparison. </p>

</div>
</div>
<a id="aa2438d53da745c1dc1a9bc929a2d3f52" name="aa2438d53da745c1dc1a9bc929a2d3f52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2438d53da745c1dc1a9bc929a2d3f52">&#9670;&#160;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1DependentResult.html">void</a> Ipopt::TaggedObject::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classIpopt_1_1DependentResult.html">const</a> <a class="el" href="classIpopt_1_1TaggedObject.html">TaggedObject</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default Assignment Operator. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a923dcd06bf128f45889d4116279141ff" name="a923dcd06bf128f45889d4116279141ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a923dcd06bf128f45889d4116279141ff">&#9670;&#160;</a></span>tag_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classIpopt_1_1TaggedObject.html#a6295578d16e7272fd040f02806d72afc">Tag</a> Ipopt::TaggedObject::tag_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The tag indicating the current state of the object. </p>
<p>We use this to compare against the comparison_tag in the HasChanged method. This member is updated from the unique_tag_ every time the object changes. </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00118">118</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<a id="acf2fbdd52911a44af1483ef959c48904" name="acf2fbdd52911a44af1483ef959c48904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf2fbdd52911a44af1483ef959c48904">&#9670;&#160;</a></span>cache_priority_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="namespaceIpopt.html#a5a4a27f325033a0e5d85a4ebc4038b57">Index</a> Ipopt::TaggedObject::cache_priority_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The index indicating the cache priority for this <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a>. </p>
<p>If a result that depended on this <a class="el" href="classIpopt_1_1TaggedObject.html" title="TaggedObject class.">TaggedObject</a> is cached, it will be cached with this priority </p>

<p class="definition">Definition at line <a class="el" href="IpTaggedObject_8hpp_source.html#l00125">125</a> of file <a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Common/<a class="el" href="IpTaggedObject_8hpp_source.html">IpTaggedObject.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
</body>
</html>
